Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

293
Visualizações
Ajax con JQuery: 200 ok, pero no "éxito"

Estoy tratando de usar AJAX para enviar una consulta a Google Books y mostrar los resultados en mi sitio web. Estoy usando JQuery para enviar la solicitud y manejar la respuesta, así:

 var query = [formatted input from a form]; var URL = "http://books.google.com/books/feeds/volumes?q="+query+"&start-index=1&max-results=5"; $.ajax({ type: "GET", url: URL, dataType: "xml", success: function(data, status){ alert(status); } });

Actualmente, solo tengo el script que alerta "éxito" si se recibe una respuesta. Si uso mi secuencia de comandos para enviar esa consulta a una página local para probarla, esto funciona bien. Pero cuando configuro la URL en la de Google mencionada anteriormente, como se indica en la página de la API del desarrollador, nunca veo la alerta. Según Firebug, estoy recibiendo una respuesta y un estado de 200 ok como debería, pero no estoy llegando a ese camino de "éxito". ¿Alguien sabe por qué?

Editar: debo agregar que si sigo la URL directamente, a http://books.google.com , etc. con alguna q aleatoria, muestra el XML del feed sin problemas, por lo que la consulta no es el problema.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

No puede realizar solicitudes entre dominios mediante XMLHttpRequest con la configuración de seguridad estándar del navegador. Una posible solución es escribir una función de proxy local (suponiendo que pueda crear un código del lado del servidor) que reenvíe la consulta al sitio externo y luego devuelva la respuesta.

Editar : parece que Google también proporciona una API de JavaScript. Asumiría que se han diseñado de tal manera para evitar el problema de XHR entre dominios.

http://code.google.com/apis/books/docs/js/devguide.html#ejecutar

Editar : la API de JavaScript para libros quedó obsoleta. Si bien ya no es útil en la práctica, puede ver el texto original de la documentación a la que se hace referencia a través del archivo de Wayback Machine: http://web.archive.org/web/20120414070427/http://code.google.com/apis/books/docs /js/devguide.html#ejecutar

over 4 years ago · Santiago Trujillo Relatório

0

Es un problema entre dominios con llamadas ajax porque los navegadores tienen un modelo de seguridad basado en una política de dominio.

si no desea incluir toda la API de Google Books, también puede usar la API de Google Ajax con jsonp para llamadas ajax entre dominios.

Documentos aquí:

http://code.google.com/apis/books/docs/js/jsondevguide.html#basic_query

ejemplo de jQuery

 var query = 'jquery'; var URL = 'https://ajax.googleapis.com/ajax/services/search/books?v=1.0&q=' + query; $.ajax({ type: 'GET', url: URL, dataType: 'jsonp', success: function( data, status ){ alert( data.responseData.results.length + ' results found!' ); }, error: function() { alert( 'Something goes wrong!' ); } });

¡Ciao!

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda